package cn.elead.chaos.remote.web.system.service;
import java.util.List;

import cn.elead.chaos.mybatils.web.page.TableDataInfo;
import cn.elead.chaos.remote.web.system.domain.SysDictData;
import feign.Param;
import feign.QueryMap;
import feign.RequestLine;

/**
 * 字典数据Service接口
 * 
 * @author luopeng
 * @date 2020-02-26 15:15:19
 */
public interface IRemoteDictDataService 
{

	/**
	 * 查询字典数据分页列表
	 * 
	 * @param sysDictData 字典数据
	 * @return 字典数据集合
	 */
	@RequestLine("GET /system/dict/data/page")
	public TableDataInfo<SysDictData> page(@QueryMap SysDictData sysDictData);

	/**
     * 查询字典数据列表
     * 
     * @param sysDictData 字典数据
     * @return 字典数据集合
     */
    @RequestLine("GET /system/dict/data/list")
    public List<SysDictData> list(@QueryMap SysDictData sysDictData);

    /**
     * 查询字典数据
     * 
     * @param dictCode 字典数据ID
     * @return 字典数据
     */
    @RequestLine("GET /system/dict/data/{dictCode}")
    public SysDictData getInfo(@Param("dictCode") Long dictCode);

    /**
     * 根据字典类型查询字典数据信息
     * @param dictType
     * @return
     */
    @RequestLine("GET /system/dict/data/dictType/{dictType}")
    public List<SysDictData> dictType(@Param("dictType")String dictType);

    /**
     * 新增字典数据
     * 
     * @param sysDictData 字典数据
     * @return 结果
     */
    @RequestLine("POST /system/dict/data") 
    public int add(SysDictData sysDictData);

    /**
     * 修改字典数据
     * 
     * @param sysDictData 字典数据
     * @return 结果
     */
    @RequestLine("PUT /system/dict/data") 
    public int edit(SysDictData sysDictData);
    
    /**
     * 删除字典数据信息
     * 
     * @param dictCode 字典数据ID
     * @return 结果
     */
    @RequestLine("DELETE /system/dict/data/{dictCode}") 
    public int remove(@Param("dictCode") String dictCode);
}